# @Filename:    webdriver_attribute
# @Author:      王佳伟
# @Time:        2025-02-20 15:51
# @Describe:    WebDriver对象的属性
from selenium import webdriver
from selenium.webdriver.common.by import By


class Alert:
    def __init__(self):
        # 创建一个Chrome浏览器的WebDriver示例
        self.driver = webdriver.Chrome()
        # ChromeOptions类提供了对Chrome浏览器各种选项进行配置的方法;
        # 在excludeSwitches参数中，将enable-logging指定为要排除的选项，表示不启用浏览器的日志功能
        # options = webdriver.ChromeOptions()
        # options.add_experimental_option('excludeSwitches', ['enable-logging'])
        # self.drive = webdriver.Chrome(options=options)
        # 最大化窗口
        self.driver.maximize_window()
        # 隐式等待，设置最大的等待时长，只对查找元素（find_elementXXX）生效
        self.driver.implicitly_wait(2)

    def get_attribute(self):
        """代码执行"""
        # 打开百度
        self.driver.get('https://www.baidu.com/')
        # 获取当前浏览器的URL
        print(self.driver.current_url)
        # 获取当前浏览器窗口的标题
        print(self.driver.title)
        # 获取当前页面的源代码
        print(self.driver.page_source)
        # 获取有关浏览器的相关信息，如浏览器名称、版本等
        print(self.driver.capabilities)
        # 获取应用程序缓存API的实例
        print(self.driver.application_cache)
        # 获取当前会话的唯一标识符
        print(self.driver.session_id)

